# encoding: utf-8
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models

class Migration(SchemaMigration):

    def forwards(self, orm):
        
        # Adding model 'Daypart'
        db.create_table('tj3_daypart', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('name', self.gf('django.db.models.fields.CharField')(default='morning', max_length=64)),
        ))
        db.send_create_signal('tj3', ['Daypart'])

        # Adding model 'ProjectScenario'
        db.create_table('tj3_projectscenario', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('name', self.gf('django.db.models.fields.CharField')(max_length=16)),
            ('description', self.gf('django.db.models.fields.CharField')(max_length=128)),
            ('minslackrate', self.gf('django.db.models.fields.IntegerField')(default=0)),
            ('enabled', self.gf('django.db.models.fields.BooleanField')(default=True)),
            ('parent', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='children', null=True, to=orm['tj3.ProjectScenario'])),
            ('lft', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
            ('rght', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
            ('tree_id', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
            ('level', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
        ))
        db.send_create_signal('tj3', ['ProjectScenario'])

        # Adding model 'Project'
        db.create_table('tj3_project', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('name', self.gf('django.db.models.fields.CharField')(max_length=128)),
            ('description', self.gf('django.db.models.fields.TextField')(blank=True)),
            ('start', self.gf('django.db.models.fields.DateField')()),
            ('end', self.gf('django.db.models.fields.DateField')()),
            ('now', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('timeformat', self.gf('django.db.models.fields.CharField')(default='%Y-%m-%d', max_length=32)),
            ('numberformat', self.gf('django.db.models.fields.CharField')(default='"-" "" "," "." 1', max_length=32)),
            ('currencyformat', self.gf('django.db.models.fields.CharField')(default='"(" ")" "," "." 0', max_length=32)),
            ('currency', self.gf('django.db.models.fields.CharField')(default='USD', max_length=8)),
            ('scenario', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.ProjectScenario'])),
            ('working_path', self.gf('django.db.models.fields.CharField')(default='~/temp', max_length=128, null=True, blank=True)),
        ))
        db.send_create_signal('tj3', ['Project'])

        # Adding model 'WorkLimit'
        db.create_table('tj3_worklimit', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('dailymax', self.gf('django.db.models.fields.CharField')(max_length=8, null=True, blank=True)),
            ('dailymin', self.gf('django.db.models.fields.CharField')(max_length=8, null=True, blank=True)),
            ('maximum', self.gf('django.db.models.fields.CharField')(max_length=8, null=True, blank=True)),
            ('minimum', self.gf('django.db.models.fields.CharField')(max_length=8, null=True, blank=True)),
            ('monthlymax', self.gf('django.db.models.fields.CharField')(max_length=8, null=True, blank=True)),
            ('monthlymin', self.gf('django.db.models.fields.CharField')(max_length=8, null=True, blank=True)),
            ('weeklymax', self.gf('django.db.models.fields.CharField')(max_length=8, null=True, blank=True)),
            ('weeklymin', self.gf('django.db.models.fields.CharField')(max_length=8, null=True, blank=True)),
        ))
        db.send_create_signal('tj3', ['WorkLimit'])

        # Adding model 'Resource'
        db.create_table('tj3_resource', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('first_name', self.gf('django.db.models.fields.CharField')(max_length=128)),
            ('last_name', self.gf('django.db.models.fields.CharField')(max_length=128)),
            ('email', self.gf('django.db.models.fields.EmailField')(max_length=75, blank=True)),
            ('work_limit', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.WorkLimit'], null=True, blank=True)),
        ))
        db.send_create_signal('tj3', ['Resource'])

        # Adding model 'TimeOff'
        db.create_table('tj3_timeoff', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('start', self.gf('django.db.models.fields.DateField')()),
            ('end', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('memo', self.gf('django.db.models.fields.TextField')()),
            ('resource', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Resource'])),
        ))
        db.send_create_signal('tj3', ['TimeOff'])

        # Adding model 'Task'
        db.create_table('tj3_task', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Project'])),
            ('created', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
            ('last_modified', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
            ('name', self.gf('django.db.models.fields.CharField')(max_length=128)),
            ('description', self.gf('django.db.models.fields.TextField')()),
            ('parent', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='children', null=True, to=orm['tj3.Task'])),
            ('full_path', self.gf('django.db.models.fields.CharField')(max_length=4096, blank=True)),
            ('lft', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
            ('rght', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
            ('tree_id', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
            ('level', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
        ))
        db.send_create_signal('tj3', ['Task'])

        # Adding model 'AllocateResource'
        db.create_table('tj3_allocateresource', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('primary', self.gf('django.db.models.fields.related.ForeignKey')(related_name='primary', to=orm['tj3.Resource'])),
            ('alternative', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='alternative', null=True, to=orm['tj3.Resource'])),
        ))
        db.send_create_signal('tj3', ['AllocateResource'])

        # Adding M2M table for field task on 'AllocateResource'
        db.create_table('tj3_allocateresource_task', (
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
            ('allocateresource', models.ForeignKey(orm['tj3.allocateresource'], null=False)),
            ('task', models.ForeignKey(orm['tj3.task'], null=False))
        ))
        db.create_unique('tj3_allocateresource_task', ['allocateresource_id', 'task_id'])

        # Adding model 'TaskBudget'
        db.create_table('tj3_taskbudget', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('scenario', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.ProjectScenario'])),
            ('task', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Task'])),
            ('budget', self.gf('django.db.models.fields.FloatField')(default=1.0, blank=True)),
            ('reserve', self.gf('django.db.models.fields.FloatField')(default=0.0, blank=True)),
        ))
        db.send_create_signal('tj3', ['TaskBudget'])

        # Adding model 'TaskPeriod'
        db.create_table('tj3_taskperiod', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('scenario', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.ProjectScenario'], null=True, blank=True)),
            ('start', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('max_start', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('min_start', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('end', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('max_end', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('min_end', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('length', self.gf('django.db.models.fields.CharField')(max_length=16, blank=True)),
            ('duration', self.gf('django.db.models.fields.CharField')(max_length=16, blank=True)),
            ('effort', self.gf('django.db.models.fields.CharField')(max_length=16, blank=True)),
            ('task', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Task'])),
            ('complete', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
            ('milestone', self.gf('django.db.models.fields.BooleanField')(default=False)),
        ))
        db.send_create_signal('tj3', ['TaskPeriod'])

        # Adding model 'TaskDependency'
        db.create_table('tj3_taskdependency', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('type', self.gf('django.db.models.fields.CharField')(max_length=32)),
            ('from_task', self.gf('django.db.models.fields.related.ForeignKey')(related_name='from_task', to=orm['tj3.Task'])),
            ('to_task', self.gf('django.db.models.fields.related.ForeignKey')(related_name='to_task', to=orm['tj3.Task'])),
            ('gap_duration', self.gf('django.db.models.fields.CharField')(default='', max_length=16, null=True, blank=True)),
            ('gap_length', self.gf('django.db.models.fields.CharField')(default='', max_length=16, null=True, blank=True)),
            ('on_what', self.gf('django.db.models.fields.CharField')(max_length=16)),
        ))
        db.send_create_signal('tj3', ['TaskDependency'])

        # Adding model 'Booking'
        db.create_table('tj3_booking', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('created', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
            ('when', self.gf('django.db.models.fields.DateField')(default=datetime.date(2012, 2, 7))),
            ('part_of_day', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Daypart'])),
            ('length', self.gf('django.db.models.fields.CharField')(default='4h', max_length=16)),
            ('overtime', self.gf('django.db.models.fields.IntegerField')(default=1, null=True, blank=True)),
            ('task', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Task'], null=True, blank=True)),
            ('resource', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Resource'], null=True, blank=True)),
        ))
        db.send_create_signal('tj3', ['Booking'])

        # Adding model 'Journal'
        db.create_table('tj3_journal', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('created', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
            ('booking', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Booking'])),
            ('summary', self.gf('django.db.models.fields.CharField')(max_length=128)),
            ('description', self.gf('django.db.models.fields.TextField')()),
            ('memo', self.gf('django.db.models.fields.TextField')(blank=True)),
            ('alert', self.gf('django.db.models.fields.CharField')(default='green', max_length=16)),
        ))
        db.send_create_signal('tj3', ['Journal'])

        # Adding model 'ReportTemplate'
        db.create_table('tj3_reporttemplate', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('created', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
            ('last_modified', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Project'])),
            ('name', self.gf('django.db.models.fields.CharField')(default='', max_length=256, null=True, blank=True)),
            ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
            ('scenario', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.ProjectScenario'])),
            ('format', self.gf('django.db.models.fields.CharField')(default='html', max_length=64)),
            ('tags', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
            ('cols', self.gf('django.db.models.fields.TextField')(default='', blank=True)),
            ('start', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
            ('end', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
        ))
        db.send_create_signal('tj3', ['ReportTemplate'])

        # Adding M2M table for field compare_to on 'ReportTemplate'
        db.create_table('tj3_reporttemplate_compare_to', (
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
            ('reporttemplate', models.ForeignKey(orm['tj3.reporttemplate'], null=False)),
            ('projectscenario', models.ForeignKey(orm['tj3.projectscenario'], null=False))
        ))
        db.create_unique('tj3_reporttemplate_compare_to', ['reporttemplate_id', 'projectscenario_id'])

        # Adding model 'TaskReport'
        db.create_table('tj3_taskreport', (
            ('reporttemplate_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['tj3.ReportTemplate'], unique=True, primary_key=True)),
            ('milestone_only', self.gf('django.db.models.fields.BooleanField')(default=False)),
            ('completion', self.gf('django.db.models.fields.CharField')(default='all', max_length=64)),
        ))
        db.send_create_signal('tj3', ['TaskReport'])

        # Adding model 'ResourceReport'
        db.create_table('tj3_resourcereport', (
            ('reporttemplate_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['tj3.ReportTemplate'], unique=True, primary_key=True)),
            ('resource', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Resource'], null=True, blank=True)),
            ('resolution', self.gf('django.db.models.fields.CharField')(default='daily', max_length=16)),
        ))
        db.send_create_signal('tj3', ['ResourceReport'])

        # Adding model 'TJReport'
        db.create_table('tj3_tjreport', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('created', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
            ('last_modified', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
            ('report_data', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Project'])),
            ('template', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.ReportTemplate'])),
        ))
        db.send_create_signal('tj3', ['TJReport'])

        # Adding model 'ResourceLoad'
        db.create_table('tj3_resourceload', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('created', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
            ('last_modified', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Project'])),
            ('scenario', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.ProjectScenario'])),
            ('resource', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Resource'])),
            ('task', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Task'])),
            ('load', self.gf('django.db.models.fields.FloatField')(default=0.0)),
            ('when', self.gf('django.db.models.fields.DateField')(default=datetime.date(2012, 2, 7))),
        ))
        db.send_create_signal('tj3', ['ResourceLoad'])

        # Adding model 'TaskStatus'
        db.create_table('tj3_taskstatus', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('created', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
            ('last_modified', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Project'])),
            ('scenario', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.ProjectScenario'])),
            ('task', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Task'])),
            ('start', self.gf('django.db.models.fields.DateField')(default=datetime.date(2012, 2, 7))),
            ('end', self.gf('django.db.models.fields.DateField')(default=datetime.date(2012, 2, 7))),
            ('duration', self.gf('django.db.models.fields.FloatField')(default=0.0)),
            ('effort', self.gf('django.db.models.fields.FloatField')(default=0.0)),
            ('effortdone', self.gf('django.db.models.fields.FloatField')(default=0.0)),
            ('effortleft', self.gf('django.db.models.fields.FloatField')(default=0.0)),
            ('completion', self.gf('django.db.models.fields.IntegerField')(default=0)),
        ))
        db.send_create_signal('tj3', ['TaskStatus'])

        # Adding model 'TJError'
        db.create_table('tj3_tjerror', (
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Project'])),
            ('type', self.gf('django.db.models.fields.CharField')(max_length=16)),
            ('scenario', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.ProjectScenario'], null=True, blank=True)),
            ('task', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['tj3.Task'], null=True, blank=True)),
            ('filename', self.gf('django.db.models.fields.CharField')(max_length=256)),
            ('file_content', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
            ('lineno', self.gf('django.db.models.fields.IntegerField')()),
            ('msg', self.gf('django.db.models.fields.TextField')()),
        ))
        db.send_create_signal('tj3', ['TJError'])


    def backwards(self, orm):
        
        # Deleting model 'Daypart'
        db.delete_table('tj3_daypart')

        # Deleting model 'ProjectScenario'
        db.delete_table('tj3_projectscenario')

        # Deleting model 'Project'
        db.delete_table('tj3_project')

        # Deleting model 'WorkLimit'
        db.delete_table('tj3_worklimit')

        # Deleting model 'Resource'
        db.delete_table('tj3_resource')

        # Deleting model 'TimeOff'
        db.delete_table('tj3_timeoff')

        # Deleting model 'Task'
        db.delete_table('tj3_task')

        # Deleting model 'AllocateResource'
        db.delete_table('tj3_allocateresource')

        # Removing M2M table for field task on 'AllocateResource'
        db.delete_table('tj3_allocateresource_task')

        # Deleting model 'TaskBudget'
        db.delete_table('tj3_taskbudget')

        # Deleting model 'TaskPeriod'
        db.delete_table('tj3_taskperiod')

        # Deleting model 'TaskDependency'
        db.delete_table('tj3_taskdependency')

        # Deleting model 'Booking'
        db.delete_table('tj3_booking')

        # Deleting model 'Journal'
        db.delete_table('tj3_journal')

        # Deleting model 'ReportTemplate'
        db.delete_table('tj3_reporttemplate')

        # Removing M2M table for field compare_to on 'ReportTemplate'
        db.delete_table('tj3_reporttemplate_compare_to')

        # Deleting model 'TaskReport'
        db.delete_table('tj3_taskreport')

        # Deleting model 'ResourceReport'
        db.delete_table('tj3_resourcereport')

        # Deleting model 'TJReport'
        db.delete_table('tj3_tjreport')

        # Deleting model 'ResourceLoad'
        db.delete_table('tj3_resourceload')

        # Deleting model 'TaskStatus'
        db.delete_table('tj3_taskstatus')

        # Deleting model 'TJError'
        db.delete_table('tj3_tjerror')


    models = {
        'contenttypes.contenttype': {
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
        },
        'taggit.tag': {
            'Meta': {'object_name': 'Tag'},
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100', 'db_index': 'True'})
        },
        'taggit.taggeditem': {
            'Meta': {'object_name': 'TaggedItem'},
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_tagged_items'", 'to': "orm['contenttypes.ContentType']"}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'object_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}),
            'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'taggit_taggeditem_items'", 'to': "orm['taggit.Tag']"})
        },
        'tj3.allocateresource': {
            'Meta': {'object_name': 'AllocateResource'},
            'alternative': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'alternative'", 'null': 'True', 'to': "orm['tj3.Resource']"}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'primary': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'primary'", 'to': "orm['tj3.Resource']"}),
            'task': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['tj3.Task']", 'null': 'True', 'blank': 'True'})
        },
        'tj3.booking': {
            'Meta': {'ordering': "['-when']", 'object_name': 'Booking'},
            'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'length': ('django.db.models.fields.CharField', [], {'default': "'4h'", 'max_length': '16'}),
            'overtime': ('django.db.models.fields.IntegerField', [], {'default': '1', 'null': 'True', 'blank': 'True'}),
            'part_of_day': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Daypart']"}),
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Resource']", 'null': 'True', 'blank': 'True'}),
            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Task']", 'null': 'True', 'blank': 'True'}),
            'when': ('django.db.models.fields.DateField', [], {'default': 'datetime.date(2012, 2, 7)'})
        },
        'tj3.daypart': {
            'Meta': {'object_name': 'Daypart'},
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'name': ('django.db.models.fields.CharField', [], {'default': "'morning'", 'max_length': '64'})
        },
        'tj3.journal': {
            'Meta': {'ordering': "['-created']", 'object_name': 'Journal'},
            'alert': ('django.db.models.fields.CharField', [], {'default': "'green'", 'max_length': '16'}),
            'booking': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Booking']"}),
            'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
            'description': ('django.db.models.fields.TextField', [], {}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'memo': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
            'summary': ('django.db.models.fields.CharField', [], {'max_length': '128'})
        },
        'tj3.project': {
            'Meta': {'ordering': "['-start', '-end']", 'object_name': 'Project'},
            'currency': ('django.db.models.fields.CharField', [], {'default': "'USD'", 'max_length': '8'}),
            'currencyformat': ('django.db.models.fields.CharField', [], {'default': '\'"(" ")" "," "." 0\'', 'max_length': '32'}),
            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
            'end': ('django.db.models.fields.DateField', [], {}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
            'now': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'numberformat': ('django.db.models.fields.CharField', [], {'default': '\'"-" "" "," "." 1\'', 'max_length': '32'}),
            'scenario': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.ProjectScenario']"}),
            'start': ('django.db.models.fields.DateField', [], {}),
            'timeformat': ('django.db.models.fields.CharField', [], {'default': "'%Y-%m-%d'", 'max_length': '32'}),
            'working_path': ('django.db.models.fields.CharField', [], {'default': "'~/temp'", 'max_length': '128', 'null': 'True', 'blank': 'True'})
        },
        'tj3.projectscenario': {
            'Meta': {'object_name': 'ProjectScenario'},
            'description': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
            'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
            'minslackrate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
            'name': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['tj3.ProjectScenario']"}),
            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
        },
        'tj3.reporttemplate': {
            'Meta': {'object_name': 'ReportTemplate'},
            'cols': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
            'compare_to': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'comparable'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['tj3.ProjectScenario']"}),
            'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
            'end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'format': ('django.db.models.fields.CharField', [], {'default': "'html'", 'max_length': '64'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'last_modified': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
            'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'null': 'True', 'blank': 'True'}),
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Project']"}),
            'scenario': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.ProjectScenario']"}),
            'start': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'tags': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
        },
        'tj3.resource': {
            'Meta': {'ordering': "['last_name', 'first_name', 'email']", 'object_name': 'Resource'},
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
            'work_limit': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.WorkLimit']", 'null': 'True', 'blank': 'True'})
        },
        'tj3.resourceload': {
            'Meta': {'object_name': 'ResourceLoad'},
            'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'last_modified': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
            'load': ('django.db.models.fields.FloatField', [], {'default': '0.0'}),
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Project']"}),
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Resource']"}),
            'scenario': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.ProjectScenario']"}),
            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Task']"}),
            'when': ('django.db.models.fields.DateField', [], {'default': 'datetime.date(2012, 2, 7)'})
        },
        'tj3.resourcereport': {
            'Meta': {'object_name': 'ResourceReport', '_ormbases': ['tj3.ReportTemplate']},
            'reporttemplate_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['tj3.ReportTemplate']", 'unique': 'True', 'primary_key': 'True'}),
            'resolution': ('django.db.models.fields.CharField', [], {'default': "'daily'", 'max_length': '16'}),
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Resource']", 'null': 'True', 'blank': 'True'})
        },
        'tj3.task': {
            'Meta': {'object_name': 'Task'},
            'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
            'description': ('django.db.models.fields.TextField', [], {}),
            'full_path': ('django.db.models.fields.CharField', [], {'max_length': '4096', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'last_modified': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['tj3.Task']"}),
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Project']"}),
            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
        },
        'tj3.taskbudget': {
            'Meta': {'object_name': 'TaskBudget'},
            'budget': ('django.db.models.fields.FloatField', [], {'default': '1.0', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'reserve': ('django.db.models.fields.FloatField', [], {'default': '0.0', 'blank': 'True'}),
            'scenario': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.ProjectScenario']"}),
            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Task']"})
        },
        'tj3.taskdependency': {
            'Meta': {'object_name': 'TaskDependency'},
            'from_task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'from_task'", 'to': "orm['tj3.Task']"}),
            'gap_duration': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '16', 'null': 'True', 'blank': 'True'}),
            'gap_length': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '16', 'null': 'True', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'on_what': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
            'to_task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'to_task'", 'to': "orm['tj3.Task']"}),
            'type': ('django.db.models.fields.CharField', [], {'max_length': '32'})
        },
        'tj3.taskperiod': {
            'Meta': {'object_name': 'TaskPeriod'},
            'complete': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
            'duration': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
            'effort': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
            'end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'length': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
            'max_end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'max_start': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'milestone': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
            'min_end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'min_start': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'scenario': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.ProjectScenario']", 'null': 'True', 'blank': 'True'}),
            'start': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Task']"})
        },
        'tj3.taskreport': {
            'Meta': {'object_name': 'TaskReport', '_ormbases': ['tj3.ReportTemplate']},
            'completion': ('django.db.models.fields.CharField', [], {'default': "'all'", 'max_length': '64'}),
            'milestone_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
            'reporttemplate_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['tj3.ReportTemplate']", 'unique': 'True', 'primary_key': 'True'})
        },
        'tj3.taskstatus': {
            'Meta': {'object_name': 'TaskStatus'},
            'completion': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
            'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
            'duration': ('django.db.models.fields.FloatField', [], {'default': '0.0'}),
            'effort': ('django.db.models.fields.FloatField', [], {'default': '0.0'}),
            'effortdone': ('django.db.models.fields.FloatField', [], {'default': '0.0'}),
            'effortleft': ('django.db.models.fields.FloatField', [], {'default': '0.0'}),
            'end': ('django.db.models.fields.DateField', [], {'default': 'datetime.date(2012, 2, 7)'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'last_modified': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Project']"}),
            'scenario': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.ProjectScenario']"}),
            'start': ('django.db.models.fields.DateField', [], {'default': 'datetime.date(2012, 2, 7)'}),
            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Task']"})
        },
        'tj3.timeoff': {
            'Meta': {'ordering': "['-start', '-end']", 'object_name': 'TimeOff'},
            'end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'memo': ('django.db.models.fields.TextField', [], {}),
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Resource']"}),
            'start': ('django.db.models.fields.DateField', [], {})
        },
        'tj3.tjerror': {
            'Meta': {'object_name': 'TJError'},
            'file_content': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
            'filename': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'lineno': ('django.db.models.fields.IntegerField', [], {}),
            'msg': ('django.db.models.fields.TextField', [], {}),
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Project']"}),
            'scenario': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.ProjectScenario']", 'null': 'True', 'blank': 'True'}),
            'task': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Task']", 'null': 'True', 'blank': 'True'}),
            'type': ('django.db.models.fields.CharField', [], {'max_length': '16'})
        },
        'tj3.tjreport': {
            'Meta': {'object_name': 'TJReport'},
            'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'last_modified': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.Project']"}),
            'report_data': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
            'template': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['tj3.ReportTemplate']"})
        },
        'tj3.worklimit': {
            'Meta': {'object_name': 'WorkLimit'},
            'dailymax': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
            'dailymin': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
            'maximum': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
            'minimum': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
            'monthlymax': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
            'monthlymin': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
            'weeklymax': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'}),
            'weeklymin': ('django.db.models.fields.CharField', [], {'max_length': '8', 'null': 'True', 'blank': 'True'})
        }
    }

    complete_apps = ['tj3']
